package com.restaurante.restauranteandroid;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;

import com.restaurante.restauranteandroid.model.Status;
import com.restaurante.restauranteandroid.utils.CelulaREST;
import com.restaurante.restauranteandroid.utils.Constants;

public class ConfirmacaoPedidoActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_confirmacao_pedido);
		Intent it = getIntent();
		Bundle bundle = it.getExtras();
		TextView nomeProduto = (TextView)findViewById(R.id.text_nome_produto);
		nomeProduto.setText(bundle.getString(Constants.SESSAO_NOME_PRODUTO));
	}

	public void onButtonClick(View v){
		Status status = new Status();
		TextView textQuantidade = (TextView) findViewById(R.id.text_quantidade);
		Intent it = getIntent();
		Bundle bundle = it.getExtras();
		Integer idPedido = bundle.getInt(Constants.SESSAO_ID_PEDIDO);
		Integer idProduto = bundle.getInt(Constants.SESSAO_ID_PRODUTO);
		if (R.id.button_finalizar_pedido==v.getId()){
			status = CelulaREST.inserePedido(idPedido, idProduto, Integer.valueOf(textQuantidade.getText().toString()));
		}
		if (Constants.SUCESSO_OPERACAO_BD.equals(status.getCodigoErro())){
			alertaMessageOk(Constants.MESSAGE_SUCESSO_PEDIDO);
		}else if (Constants.ERRO_OPERACAO_BD.equals(status.getCodigoErro())){
			alertaMessageErro("Erro na rede. Tente novamente.");
		}
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.confirmacao_pedido, menu);
		return true;
	}
	
	public void alertaMessageOk(String mensagem){

		AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
		// set dialog message
		alertDialogBuilder
			.setMessage(mensagem)
			.setCancelable(false)
			.setNeutralButton(Constants.BUTTON_OK,new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog,int id) {
//					Intent it = getIntent();
//					Bundle bundle = it.getExtras();
//					Intent intent = new Intent(getApplicationContext(),NovoPedido.class);
//					intent.putExtras(bundle);
//					startActivity(intent);
					onDestroy();
				}
			  });

			// create alert dialog
			AlertDialog alertDialog = alertDialogBuilder.create();

			// show it
			alertDialog.show();
			
	}
	
	public void alertaMessageErro(String mensagem){

		AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
		// set dialog message
		alertDialogBuilder
			.setMessage(mensagem)
			.setCancelable(false)
			.setNeutralButton(Constants.BUTTON_OK,new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog,int id) {
					dialog.cancel();
				}
			  });

			// create alert dialog
			AlertDialog alertDialog = alertDialogBuilder.create();

			// show it
			alertDialog.show();
			
	}

	@Override
	public void onDestroy(){
		super.onDestroy();
		super.finish();
	}
	
}
